package com.mali.malibackendmodel.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 商品
 * @TableName product
 */
@TableName(value ="product")
@Data
public class Product implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品库存
     */
    private Integer num;

    /**
     * 兑换量限制
     */
    private Integer limits;

    /**
     * 创建者id
     */
    @TableField(value = "adminUserId")
    private Long adminUserId;

    /**
     * 商品图片地址
     */
    @TableField(value = "imgUrl")
    private String imgUrl;

    /**
     * 发货地域
     */
    @TableField(value = "sendAddress")
    private String sendAddress;

    /**
     * 不发货地域
     */
    @TableField(value = "unsendAdress")
    private String unsendAddress;

    /**
     * 商品描述
     */
    private String describes;

    /**
     * 商品详情
     */
    private String details;

    /**
     * 商品状态
     */
    private Integer status;

    /**
     * 上线时间
     */
    @TableField(value = "onlineTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime onlineTime;

    /**
     * 下限时间
     */
    @TableField(value = "downlineTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime downlineTime;

    /**
     * 创建时间
     */
    @TableField(value = "createTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 信息更改时间
     */
    @TableField(value = "updateTime", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 商品类型
     */
    private String type;

    /**
     * 商品分类
     */
    private String className;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}